package com.example.deepschool.repositories;

import com.example.deepschool.Model.CourseContent;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

/**
 * 课程内容 数据访问接口
 */
@Mapper
@Repository
public interface CourseContentRepository {
	
	/**
	 * 插入一条课程内容记录。
	 *
	 * @param courseContent 课程内容对象，包含待插入的数据。
	 * @return 返回插入操作影响的行数。
	 */
	Integer insert ( CourseContent courseContent );
	
	/**
	 * 根据ID删除一条课程内容记录。
	 *
	 * @param id 待删除记录的ID。
	 * @return 返回删除操作影响的行数。
	 */
	Integer delete ( Long id );
	
	/**
	 * 更新一条课程内容记录。
	 *
	 * @param courseContent 课程内容对象，包含待更新的数据。
	 * @return 返回更新操作影响的行数。
	 */
	Integer update ( CourseContent courseContent );
	
	/**
	 * 根据课程ID选择性地查询课程内容记录。
	 *
	 * @param courseId 课程的ID，用于查询关联的课程内容。
	 * @return 返回一个CourseContent对象数组，包含指定课程下的所有内容。
	 */
	CourseContent[] select ( Long courseId );
}

